4

Mac下安装PHP开发调试环境(ngnix+php72+xdebug)

    从事php开发已经近两年了,之前调试一直是通过古老的echo和die配合,自从接触php以来一直不习惯这种动态语言的的调试方式,一直想用一用xdebug像静态语言那样调试。曾经也尝试搭建多次,但遇到了各种各样的坑。最近想追踪一下laravel的源码,被其中各种依赖注入的方式搞的头疼,自然而然希望能够通过xdebug来帮我解决这个问题,于是又一次开始了与bug死磨硬泡的搭建之路,前前后后花了一天的时间终于成功了,记录一下过程。

1. 安装brew

Homebrew是mac上的软件包管理工具,类似于centos上的yum,非常好用。首先我们要安装它。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2. 安装php

mac系统默认是预装了apache和php的,安装地址大概在private/etc/目录下,但是为了之后维护方便我们需要自己安装php。

brew install php72

brew安装后的软件可以通过brew list命令查看,目录在/usr/local/etc/

查看php版本

php -v

如果为系统php版本,这个我们需要改变环境变量里的php路径

修改 vim ~/.bash_profile

export PATH="$(brew --prefix php)/bin:$PATH"
export PATH="$(brew --prefix php)/sbin:$PATH"

将php设置为开机自启

$ mkdir -p ~/Library/LaunchAgents
$ cp /usr/local/opt/php/homebrew.mxcl.php.plist ~/Library/LaunchAgents/
$ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php.plist

查看php-fpm是否成功启动

ps aux|grep php-fpm

3. 安装nginx

brew install nginx

安装之后的ngnix路径在/usr/local/etc/nginx,nginx 的文件配置跟一般的lnmp配置是一样的,这里就不多赘叙。

4. 安装Xdebug扩展

万恶的xdebug,这里是我踩坑最多的地方了,首先安装网上的教程brew install php72-xdebug然而

Error: No available formula with the name "php72-xdebug" 

万恶的error,关于这个问题官方的解释于是我决定采用stackoverflow上一位大神的方法,原文

  1. 获取php的版本
  2. 去xdebug官网下载响应的安装包(http://xdebug.org/files/xdebug-2.7.0alpha1.tgz)
  3. tar -xvzf xdebug-2.7.0alpha1.tgz
  4. cd xdebug-2.7.0alpha1
  5. phpize
  6. ./configure
  7. make
  8. cp modules/xdebug.so /usr/local/opt/php/lib/php/20170718/xdebug.so
  9. 添加xdebug配置
[xdebug]
# 必须使用绝对路径
zend_extension="/usr/local/opt/php/lib/php/20170718/xdebug.so"
xdebug.remote_enable=1
#xdebug.remote_host=local004.khs1994.com
xdebug.remote_connect_back=1
xdebug.remote_port=9010
xdebug.remote_log=/tmp/xdebug-remote.log
xdebug.remote_handler=dbgp
xdebug.idekey = PHPSTORM
xdebug.remote_autostart = 1

5. 配置PHPstrom

  1. PhpStrom->Preferences->Languages & Frameworks->PHP->Debug
    图片描述
    这里的port一定要跟php.ini里的一样
  2. PhpStrom->Preferences->Languages & Frameworks->PHP->Debug->DBGp Proxy
    图片描述
  3. PhpStrom->Preferences->Languages & Frameworks->PHP->Servers
    图片描述
  4. Run -> Start Listening for PHP Debug connections
  5. 配置调试服务
    图片描述
    图片描述

ethread
425 声望14 粉丝

一不小心做了码农的历史迷